package com.bluegalaxy.nhb.snservice.domain.vo.api.ck;

import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

@ApiModel(value = "留存分析对象", description = "留存分析对象")
public class KeepParamVO implements Serializable {

    //初始行为
    @ApiModelProperty(value = "初始行为")
    private  String initEvent;
    private  String initEventValue;
    private  String initEventCategory;
    //后续行为
    @ApiModelProperty(value = "后续行为")
    private String followUpEvent;
    private String followUpEventValue;
    private String followUpEventCategory;
    //开始时间
    @ApiModelProperty(value = "开始时间")
    private  String startDate;
    //结束时间
    @ApiModelProperty(value = "结束时间")
    private  String endDate;
    //留存/损失
    @ApiModelProperty(value = "留存/损失")
    private String keepType;
    //留存日
    @ApiModelProperty(value = "留存日")
    private Integer keepDay;
    //
    private List<Integer> dayList;
    private List<Integer> sumDayList;
    //日期集合
    @ApiModelProperty(value = "日期集合")
    private List<String> dateList;
    //条件集合
    @ApiModelProperty(value = "条件集合")
    private List<Map<String,Object>> conditionList;
    //条件sql
    @ApiModelProperty(value = "条件sql")
    private String conditionSql;
    @ApiModelProperty(value = "查询日期 用于查看用户列表和添加用户分群")
    private String queryDate;
    @ApiModelProperty(value = "查询序号 用于查看用户列表和添加用户分群")
    private String queryNum;
    //原始参数
    private JSONObject jsonParam;

    private String initSql;
    private String followUpSql;

    //应用集合
    private List<String> applicationCodeList;

    public String getInitEvent() {
        return initEvent;
    }

    public void setInitEvent(String initEvent) {
        this.initEvent = initEvent;
    }

    public String getFollowUpEvent() {
        return followUpEvent;
    }

    public void setFollowUpEvent(String followUpEvent) {
        this.followUpEvent = followUpEvent;
    }

    public Integer getKeepDay() {
        return keepDay;
    }

    public String getStartDate() {
        return startDate;
    }

    public void setStartDate(String startDate) {
        this.startDate = startDate;
    }

    public String getEndDate() {
        return endDate;
    }

    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    public String getKeepType() {
        return keepType;
    }

    public void setKeepType(String keepType) {
        this.keepType = keepType;
    }

    public List<String> getDateList() {
        return dateList;
    }

    public void setDateList(List<String> dateList) {
        this.dateList = dateList;
    }

    public List<Map<String, Object>> getConditionList() {
        return conditionList;
    }

    public void setConditionList(List<Map<String, Object>> conditionList) {
        this.conditionList = conditionList;
    }

    public String getConditionSql() {
        return conditionSql;
    }

    public void setConditionSql(String conditionSql) {
        this.conditionSql = conditionSql;
    }

    public void setKeepDay(Integer keepDay) {
        this.keepDay = keepDay;
    }

    public List<Integer> getDayList() {
        return dayList;
    }

    public void setDayList(List<Integer> dayList) {
        this.dayList = dayList;
    }

    public List<Integer> getSumDayList() {
        return sumDayList;
    }

    public void setSumDayList(List<Integer> sumDayList) {
        this.sumDayList = sumDayList;
    }

    public String getQueryDate() {
        return queryDate;
    }

    public void setQueryDate(String queryDate) {
        this.queryDate = queryDate;
    }

    public String getQueryNum() {
        return queryNum;
    }

    public void setQueryNum(String queryNum) {
        this.queryNum = queryNum;
    }

    public JSONObject getJsonParam() {
        return jsonParam;
    }

    public void setJsonParam(JSONObject jsonParam) {
        this.jsonParam = jsonParam;
    }

    public String getInitSql() {
        return initSql;
    }

    public void setInitSql(String initSql) {
        this.initSql = initSql;
    }

    public String getFollowUpSql() {
        return followUpSql;
    }

    public void setFollowUpSql(String followUpSql) {
        this.followUpSql = followUpSql;
    }

    public List<String> getApplicationCodeList() {
        return applicationCodeList;
    }

    public void setApplicationCodeList(List<String> applicationCodeList) {
        this.applicationCodeList = applicationCodeList;
    }

    public String getInitEventValue() {
        return initEventValue;
    }

    public void setInitEventValue(String initEventValue) {
        this.initEventValue = initEventValue;
    }

    public String getInitEventCategory() {
        return initEventCategory;
    }

    public void setInitEventCategory(String initEventCategory) {
        this.initEventCategory = initEventCategory;
    }

    public String getFollowUpEventValue() {
        return followUpEventValue;
    }

    public void setFollowUpEventValue(String followUpEventValue) {
        this.followUpEventValue = followUpEventValue;
    }

    public String getFollowUpEventCategory() {
        return followUpEventCategory;
    }

    public void setFollowUpEventCategory(String followUpEventCategory) {
        this.followUpEventCategory = followUpEventCategory;
    }
}

